import { get, post, put, del } from '@/utils/request';
import { KnowledgeItem, PaginatedResponse, ApiResponse, KnowledgeItemQueryParams, KnowledgeItemFormValues } from '@/pages/backhub/vector/store/vectorTypes';

/**
 * 获取向量知识库条目列表
 * @returns 向量知识库条目分页列表
 */
export const getKnowledgeItemList = async (params: KnowledgeItemQueryParams): Promise<ApiResponse<PaginatedResponse<KnowledgeItem>>> => {
  return get(`/engine/starhub/knowledge/item/getList`, params);
};

/**
 * 获取向量知识库条目
 * @returns 向量知识库条目信息
 */
export const getInfo = async (id: string): Promise<KnowledgeItem[]> => {
  return get(`/engine/starhub/knowledge/item/getInfo/${id}`);
};

/**
 * 创建向量知识库条目
 * @param values 向量知识库条目表单值
 * @returns 创建的向量知识库条目
 */
export const createKnowledgeItem = async (values: KnowledgeItemFormValues): Promise<KnowledgeItem> => {
  return post(`/engine/starhub/knowledge/item/add`, values);
};

/**
 * 更新向量知识库条目
 * @param id 向量知识库条目ID
 * @param values 向量知识库条目表单值
 * @returns 更新的向量知识库条目
 */
export const updateKnowledgeItem = async (id: string, values: KnowledgeItemFormValues): Promise<KnowledgeItem> => {
  values.id=id;
  return post(`/engine/starhub/knowledge/item/update`, values);
};


/**
 * 删除向量知识库条目
 * @param id 向量知识库条目ID
 */
export const deleteKnowledgeItem = async (id: string): Promise<void> => {
  return post(`/engine/starhub/knowledge/item/delete`, { id });
};
